package cn.stylefeng.guns.cp;

import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import lombok.SneakyThrows;
import org.apache.commons.compress.utils.Lists;

import java.io.File;
import java.nio.charset.Charset;
import java.util.List;
import java.util.Objects;

/**
 * @Description TODO
 * @Author xiesm
 * @Date 2024/2/2 9:13
 **/
public class ScCheck {
    private static final String path = "D:\\home\\code\\shengc";
    private static final String name = "sc10-4-";


    public static void main(String[] args) {
        List<File> files = getFiles(path);
        List<String> codes = getCodes();
        codes.forEach(code -> {
            System.out.println("---------------");
            check(code, files);
        });
    }

    public static List<String> getCodes() {
        List<String> codes = Lists.newArrayList();
        codes.add("1064");
        codes.add("3014");
        codes.add("2061");
        codes.add("7925");
        codes.add("3708");
        codes.add("7342");
        codes.add("9423");
        codes.add("1503");
        codes.add("5374");
        codes.add("9310");
        codes.add("0324");
        codes.add("5043");
        codes.add("5296");
        codes.add("3251");
        codes.add("9854");
        codes.add("2431");
        codes.add("2716");
        codes.add("7948");
        codes.add("");
        codes.add("");
        codes.add("");

        List<String> codes2 = Lists.newArrayList();

        for (int i = 0; i < codes.size(); i++) {
            String s = codes.get(i);
            if (StrUtil.isBlank(s)) {
                continue;
            }
            String[] ss = s.split("\\||");
            //将ss左补0变成2位
            List<String> subcodes = Lists.newArrayList();
            for (int j = 0; j < ss.length; j++) {
                if (Objects.equals("0", ss[j])) {
                    ss[j] = "10";
                }
                String sss = StrUtil.padPre(ss[j], 2, "0");
                subcodes.add(sss);
            }
            codes2.add(i, CollUtil.join(subcodes, " "));
        }
        return codes2;
    }

    @SneakyThrows
    public static List<File> getFiles(String path2) {
        List<File> fileList = Lists.newArrayList();
        File file = new File(path2);
        File[] files = file.listFiles();
        for (File f : files) {
            if (f.getName().indexOf(name) != -1) {
                fileList.add(f);
            }
        }
        return fileList;
    }

    public static void check(String code, List<File> files) {
        System.out.println(code);
        for (int i = 0; i < files.size(); i++) {
            File file = files.get(i);
            List<String> codes = FileUtil.readLines(file, Charset.defaultCharset());
            if (codes.contains(code)) {
                System.out.println(file.getName() + "\ttrue");
            } else {
                System.out.println(file.getName() + "\tfalse");
            }
        }
    }
}


